Micron Document
🎖️GitЯра🎖️


Displaying Raw • Download

core/database/src/commonMain/kotlin/org/meshtastic/core/database/MeshtasticDatabase.kt 2d20cd8a4708e2ef66e98d5259f3a97ec93f240a (2d20cd8a) Text, 9.46 KB

T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.core.database

Tff7b72import T7ee787androidx.room3.AutoMigration
Tff7b72import T7ee787androidx.room3.ColumnTypeConverters
Tff7b72import T7ee787androidx.room3.Database
Tff7b72import T7ee787androidx.room3.DeleteColumn
Tff7b72import T7ee787androidx.room3.DeleteTable
Tff7b72import T7ee787androidx.room3.RoomDatabase
Tff7b72import T7ee787androidx.room3.migration.AutoMigrationSpec
Tff7b72import T7ee787kotlinx.coroutines.ExperimentalCoroutinesApi
Tff7b72import T7ee787org.meshtastic.core.common.util.ioDispatcher
Tff7b72import T7ee787org.meshtastic.core.database.dao.ChannelSetDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.DeviceHardwareDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.DeviceLinkDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.DiscoveryDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.EventFirmwareEditionDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.FirmwareReleaseDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.MergeMarkerDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.MeshLogDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.NodeInfoDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.PacketDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.QuickChatActionDao
Tff7b72import T7ee787org.meshtastic.core.database.dao.TracerouteNodePositionDao
Tff7b72import T7ee787org.meshtastic.core.database.entity.ChannelSetEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.ContactSettings
Tff7b72import T7ee787org.meshtastic.core.database.entity.DeviceHardwareEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.DeviceLinkEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.DiscoveredNodeEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.DiscoveryPresetResultEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.DiscoverySessionEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.EventFirmwareEditionEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.FirmwareReleaseEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.MergeMarkerEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.MeshLog
Tff7b72import T7ee787org.meshtastic.core.database.entity.MetadataEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.MyNodeEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.NodeEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.Packet
Tff7b72import T7ee787org.meshtastic.core.database.entity.PacketFts
Tff7b72import T7ee787org.meshtastic.core.database.entity.QuickChatAction
Tff7b72import T7ee787org.meshtastic.core.database.entity.ReactionEntity
Tff7b72import T7ee787org.meshtastic.core.database.entity.TracerouteNodePositionEntity

Tf0883e@DatabaseTb4b4b4(
Te6edf3entities Tff7b72=
Tff7b72[
Te6edf3MyNodeEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3NodeEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3PacketTff7b72::Te6edf3classTb4b4b4,
Te6edf3PacketFtsTff7b72::Te6edf3classTb4b4b4,
Te6edf3ContactSettingsTff7b72::Te6edf3classTb4b4b4,
Te6edf3MeshLogTff7b72::Te6edf3classTb4b4b4,
Te6edf3QuickChatActionTff7b72::Te6edf3classTb4b4b4,
Te6edf3ReactionEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3MetadataEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3DeviceHardwareEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3DeviceLinkEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3FirmwareReleaseEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3TracerouteNodePositionEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3DiscoverySessionEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3DiscoveryPresetResultEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3DiscoveredNodeEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3EventFirmwareEditionEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3MergeMarkerEntityTff7b72::Te6edf3classTb4b4b4,
Te6edf3ChannelSetEntityTff7b72::Te6edf3classTb4b4b4,
Tff7b72]Tb4b4b4,
Te6edf3autoMigrations Tff7b72=
Tff7b72[
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4Tb4b4b4, Te6edf3to Tff7b72= T79c0ff5Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff5Tb4b4b4, Te6edf3to Tff7b72= T79c0ff6Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff6Tb4b4b4, Te6edf3to Tff7b72= T79c0ff7Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff7Tb4b4b4, Te6edf3to Tff7b72= T79c0ff8Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff8Tb4b4b4, Te6edf3to Tff7b72= T79c0ff9Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff9Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff0Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff0Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff1Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff1Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff2Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff2Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff3Tb4b4b4, Te6edf3spec Tff7b72= Te6edf3AutoMigration12to13Tff7b72::Te6edf3classTb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff3Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff4Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff4Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff5Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff5Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff6Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff6Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff7Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff7Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff8Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff8Tb4b4b4, Te6edf3to Tff7b72= T79c0ff1T79c0ff9Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff1T79c0ff9Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff0Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff0Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff1Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff1Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff2Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff2Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff3Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff3Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff4Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff4Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff5Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff5Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff6Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff6Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff7Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff7Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff8Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff8Tb4b4b4, Te6edf3to Tff7b72= T79c0ff2T79c0ff9Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff2T79c0ff9Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff0Tb4b4b4, Te6edf3spec Tff7b72= Te6edf3AutoMigration29to30Tff7b72::Te6edf3classTb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff0Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff1Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff1Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff2Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff2Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff3Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff3Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff4Tb4b4b4, Te6edf3spec Tff7b72= Te6edf3AutoMigration33to34Tff7b72::Te6edf3classTb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff4Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff5Tb4b4b4, Te6edf3spec Tff7b72= Te6edf3AutoMigration34to35Tff7b72::Te6edf3classTb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff5Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff6Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff6Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff7Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff7Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff8Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff8Tb4b4b4, Te6edf3to Tff7b72= T79c0ff3T79c0ff9Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff3T79c0ff9Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff0Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff0Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff1Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff1Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff2Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff2Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff3Tb4b4b4, Te6edf3spec Tff7b72= Te6edf3AutoMigration42to43Tff7b72::Te6edf3classTb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff3Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff4Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff4Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff5Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff5Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff6Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff6Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff7Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff7Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff8Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff8Tb4b4b4, Te6edf3to Tff7b72= T79c0ff4T79c0ff9Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff4T79c0ff9Tb4b4b4, Te6edf3to Tff7b72= T79c0ff5T79c0ff0Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff5T79c0ff0Tb4b4b4, Te6edf3to Tff7b72= T79c0ff5T79c0ff1Tb4b4b4)Tb4b4b4,
Te6edf3AutoMigrationTb4b4b4(Te6edf3from Tff7b72= T79c0ff5T79c0ff1Tb4b4b4, Te6edf3to Tff7b72= T79c0ff5T79c0ff2Tb4b4b4)Tb4b4b4,
Tff7b72]Tb4b4b4,
Te6edf3version Tff7b72= T79c0ff5T79c0ff2Tb4b4b4,
Te6edf3exportSchema Tff7b72= Tff7b72trueTb4b4b4,
Tb4b4b4)
Tf0883e@androidx.room3.ConstructedByTb4b4b4(Te6edf3MeshtasticDatabaseConstructorTff7b72::Te6edf3classTb4b4b4)
Tf0883e@ColumnTypeConvertersTb4b4b4(Te6edf3ConvertersTff7b72::Te6edf3classTb4b4b4)
Tf0883e@androidx.room3.DaoReturnTypeConvertersTb4b4b4(Te6edf3androidxTb4b4b4.Te6edf3room3Tb4b4b4.Te6edf3pagingTb4b4b4.Te6edf3PagingSourceDaoReturnTypeConverterTff7b72::Te6edf3classTb4b4b4)
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffTooManyFunctionsTa5d6ff"Tb4b4b4) T8b949e// One accessor per DAO; the count grows with the schema, not with class complexity.
Tff7b72abstract Tff7b72class T56d364MeshtasticDatabase Tb4b4b4: Te6edf3RoomDatabaseTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72abstract Tff7b72fun Td2a8ffnodeInfoDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3NodeInfoDao

Tff7b72abstract Tff7b72fun Td2a8ffpacketDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3PacketDao

Tff7b72abstract Tff7b72fun Td2a8ffmeshLogDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3MeshLogDao

Tff7b72abstract Tff7b72fun Td2a8ffquickChatActionDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3QuickChatActionDao

Tff7b72abstract Tff7b72fun Td2a8ffdeviceHardwareDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3DeviceHardwareDao

Tff7b72abstract Tff7b72fun Td2a8ffdeviceLinkDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3DeviceLinkDao

Tff7b72abstract Tff7b72fun Td2a8fffirmwareReleaseDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3FirmwareReleaseDao

Tff7b72abstract Tff7b72fun Td2a8fftracerouteNodePositionDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3TracerouteNodePositionDao

Tff7b72abstract Tff7b72fun Td2a8ffdiscoveryDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3DiscoveryDao

Tff7b72abstract Tff7b72fun Td2a8ffeventFirmwareEditionDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3EventFirmwareEditionDao

Tff7b72abstract Tff7b72fun Td2a8ffmergeMarkerDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3MergeMarkerDao

Tff7b72abstract Tff7b72fun Td2a8ffchannelSetDaoTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3ChannelSetDao

Tff7b72companion Tff7b72object Tb4b4b4{
T8b949e/**
* Configures a [RoomDatabase.Builder] with standard settings for this project.
*
* All platforms force [setSingleConnectionPool]. Without it, Room defaults to a 4-reader pool for named
* databases, and under coroutine cancellation churn (e.g. DB switches via `flatMapLatest`) the reader-pool
* permit semaphore can wedge: all reader connections report `Free` but `permits=0`, so every read acquisition
* times out indefinitely ("Error code: 5, Timed out attempting to acquire a reader connection"). Android hit
* this first; desktop (Flathub, 2026-07-10) reproduced the identical wedge in field logs, so JVM/iOS were moved
* off the multi-reader pool too. Single-connection eliminates the separate reader permit pool entirely.
*
* For in-memory databases (tests) this is a no-op for pooling — Room already serves `name == null` databases
* from a single connection — it just serializes the query dispatcher.
*/
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalCoroutinesApiTff7b72::Te6edf3classTb4b4b4)
Tff7b72fun Tff7b72<Te6edf3T Tb4b4b4: Te6edf3RoomDatabaseTff7b72> Te6edf3RoomDatabaseTb4b4b4.Td2a8ffBuilderTff7b72<Te6edf3TTff7b72>Tb4b4b4.Te6edf3configureCommonTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3RoomDatabaseTb4b4b4.Te6edf3BuilderTff7b72<Te6edf3TTff7b72> Tff7b72=
Tff7b72thisTb4b4b4.Te6edf3fallbackToDestructiveMigrationTb4b4b4(Te6edf3dropAllTables Tff7b72= Tff7b72falseTb4b4b4)
Tb4b4b4.Te6edf3setSingleConnectionPoolTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3setQueryCoroutineContextTb4b4b4(
T8b949e// limitedParallelism(1) has the same throughput ceiling as the single-connection pool
T8b949e// (already serialized), so this only blocks the cancellation pileup — not real I/O concurrency.
Te6edf3ioDispatcherTb4b4b4.Te6edf3limitedParallelismTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Tf0883e@DeleteTableTb4b4b4(Te6edf3tableName Tff7b72= Ta5d6ff"Ta5d6ffNodeInfoTa5d6ff"Tb4b4b4)
Tf0883e@DeleteTableTb4b4b4(Te6edf3tableName Tff7b72= Ta5d6ff"Ta5d6ffMyNodeInfoTa5d6ff"Tb4b4b4)
Tff7b72class T56d364AutoMigration12to13 Tb4b4b4: Te6edf3AutoMigrationSpec

Tf0883e@DeleteColumnTb4b4b4(Te6edf3tableName Tff7b72= Ta5d6ff"Ta5d6ffpacketTa5d6ff"Tb4b4b4, Te6edf3columnName Tff7b72= Ta5d6ff"Ta5d6ffreply_idTa5d6ff"Tb4b4b4)
Tff7b72class T56d364AutoMigration29to30 Tb4b4b4: Te6edf3AutoMigrationSpec

Tf0883e@DeleteColumnTb4b4b4(Te6edf3tableName Tff7b72= Ta5d6ff"Ta5d6ffpacketTa5d6ff"Tb4b4b4, Te6edf3columnName Tff7b72= Ta5d6ff"Ta5d6ffretry_countTa5d6ff"Tb4b4b4)
Tf0883e@DeleteColumnTb4b4b4(Te6edf3tableName Tff7b72= Ta5d6ff"Ta5d6ffreactionsTa5d6ff"Tb4b4b4, Te6edf3columnName Tff7b72= Ta5d6ff"Ta5d6ffretry_countTa5d6ff"Tb4b4b4)
Tff7b72class T56d364AutoMigration33to34 Tb4b4b4: Te6edf3AutoMigrationSpec

Tf0883e@DeleteColumnTb4b4b4(Te6edf3tableName Tff7b72= Ta5d6ff"Ta5d6ffpacketTa5d6ff"Tb4b4b4, Te6edf3columnName Tff7b72= Ta5d6ff"Ta5d6ffretry_countTa5d6ff"Tb4b4b4)
Tf0883e@DeleteColumnTb4b4b4(Te6edf3tableName Tff7b72= Ta5d6ff"Ta5d6ffreactionsTa5d6ff"Tb4b4b4, Te6edf3columnName Tff7b72= Ta5d6ff"Ta5d6ffretry_countTa5d6ff"Tb4b4b4)
Tff7b72class T56d364AutoMigration34to35 Tb4b4b4: Te6edf3AutoMigrationSpec

T8b949e/** Device links moved from the bundled `urls.json` to the resolved API; `original_url` is no longer stored. */
Tf0883e@DeleteColumnTb4b4b4(Te6edf3tableName Tff7b72= Ta5d6ff"Ta5d6ffdevice_linkTa5d6ff"Tb4b4b4, Te6edf3columnName Tff7b72= Ta5d6ff"Ta5d6fforiginal_urlTa5d6ff"Tb4b4b4)
Tff7b72class T56d364AutoMigration42to43 Tb4b4b4: Te6edf3AutoMigrationSpec

Served by rngit 1.5.0 - Generated in 0.17s